1. Field of the Invention
The present invention relates generally to data processing and, more specifically, to object-oriented programming systems and processes.
2. Description of the Related Art
Many computer systems automatically create a record of the sequence of events that are carried out with respect to creating or modifying source files or collections of data. The recorded sequence of events is commonly referred to as a processing log or activity log. For example, a software program build system compiles or assembles large groups of source programs in a "build" procedure that creates an executable application program or operating system. Each source program that is processed must be specified, along with processing parameters and output locations. The entire build procedure, with source programs retrieved, action taken, and results obtained, might be recorded in an activity log for later analysis and trouble-shooting. The trouble-shooting could involve noting compilation errors and taking appropriate action.
Another example of recording events in a log is that of a file server system, which might service a plurality of users that request access to copies of data files. Responding to the requests for copies is seen by the system as a sequence of computer events that can be recorded in an activity log for later analysis. Another activity log example is that of a data base manager, which fields search query requests concerning a data base from multiple users and returns data fitting the query requests. The requests and even the responses comprise a sequence of events. A commercial order-filling or banking system creates an activity log as it receives orders or account changes and operates on them in a transactional, or atomic work order fashion.
In each of these instances, an activity log is kept because it might be necessary to trace the sequence of events performed by the computer system. This is useful, for example, in recovering from a system malfunction or equipment failure. The activity logs, however, are not typically recorded in an easily readable manner. Much of the information is coded and relatively cryptic. That is, processing errors are not readily apparent from viewing the log and significant events can be easily missed. As a result, many log analysis tools have been developed to facilitate review and analysis of activity logs. For example, many program build tools have associated log scanners that summarize a build procedure and/or send notifications to program developers who are responsible for acting on compile time failures and the like. Another example of log analysis tools are "watchdog" programs that check the activity logs of server processes and send a notification when a server failure is detected.
Many log analysis tools share common construction design and features. Nevertheless, such tools are typically written for a specific purpose and function. That is, most log analysis tools are developed for an activity log of a particular format with particular messages or events recorded in a constant pattern. Because of this, minor changes in the format of an activity log typically result in substantial changes to the log analysis tool. As changes to the log analysis tool accumulate, the tools can become very difficult to maintain and debug. Much commonality from one tool to another can become lost. This makes upkeep of log analysis tools and development of new tools more difficult.
From the discussion above, it should be apparent that there is a need for a system and method for developing log analysis tools that permits more rapid development and easier maintenance. The present invention satisfies this need.